package com.eastedu.model.permission.dto;

import com.eastedu.model.permission.common.*;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

/**
 * @author yuansongming
 */
@Data
public class GrowingResourcePermissionDTO implements Serializable {
    private static final long serialVersionUID = -1L;

    /**
     * 权限ID
     */
    private Long id;

    /**
     * 校级，多选，必选项
     */
    private List<Group> groups;

    /**
     * 来源，多选，必选项
     */
    private List<Source> sources;

    /**
     * 资源类型，多选，必选项，如果为空代表全部
     */
    private List<ResourceType> resourceTypes;

    /**
     * 学年，多选，必选项
     */
    private List<String> schoolYears;

    /**
     * 学段，单选，必选项
     */
    private StudySection studySection;

    /**
     * 应用年级，单选，必选项
     */
    private Grade grade;

    /**
     * 学科，多选，必选项，如果为空代表没有权限
     */
    private List<Subject> subjects;

    /**
     * 匹配用户自身所属学科，必选项，如果为真则自动将用户自身学科填充到subjectCodes字段上
     */
    private Boolean matchUserSubject;

    /**
     * 教材章节，多选，可选项
     */
    private List<Material> materials;

    /**
     * 应用时间，单选，可选项
     */
    private EffectTime effectTime;

    /**
     * 下载权限
     */
    private DownloadPermission downloadPermission;
}
